package com.stylefeng.guns.modular.dto;

import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.modular.system.model.GoodsSaleList;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Objects;

/**
 * @author liuxin
 * @since 1.0.0
 **/
public class GoodsSaleAddRequest implements Serializable {

    /**
     * 主键
     */
    private Long id;
    /**
     * 实付金额
     */
    private String amountPaid;
    /**
     * 实付金额
     */
    private BigDecimal amountPayable;
    /**
     * 销售出库订单
     */
    private String saleOrderNumber;
    /**
     * 1已支付
     * 2未支付
     */
    private Integer payState;
    /**
     * 创建者
     */
    private String createBy = Objects.requireNonNull(ShiroKit.getUser()).getAccount();
    /**
     * 创建时间
     */
    private Date createDate;
    /**
     * 更新者
     */
    private String updateBy = Objects.requireNonNull(ShiroKit.getUser()).getAccount();
    /**
     * 更新时间
     */
    private Date updateDate = new Date();
    /**
     * 备注信息
     */
    private String remarks;
    /**
     * 删除标记（0：正常；1：删除）
     */
    private String delFlag;
    /**
     * 客户id
     */
    private Long customerId;

    private List<GoodsSaleList> saleGoodsList;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getAmountPaid() {
        return amountPaid;
    }

    public void setAmountPaid(String amountPaid) {
        this.amountPaid = amountPaid;
    }

    public BigDecimal getAmountPayable() {
        return amountPayable;
    }

    public void setAmountPayable(BigDecimal amountPayable) {
        this.amountPayable = amountPayable;
    }

    public String getSaleOrderNumber() {
        return saleOrderNumber;
    }

    public void setSaleOrderNumber(String saleOrderNumber) {
        this.saleOrderNumber = saleOrderNumber;
    }

    public Integer getPayState() {
        return payState;
    }

    public void setPayState(Integer payState) {
        this.payState = payState;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public List<GoodsSaleList> getSaleGoodsList() {
        return saleGoodsList;
    }

    public void setSaleGoodsList(List<GoodsSaleList> saleGoodsList) {
        this.saleGoodsList = saleGoodsList;
    }
}
